<?php
/*
 * [JINYUN!] (C)2001-2099 Jinyunweb.com
 * This is NOT a freeware, use is subject to license terms
 *商品管理
*/
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';

$return=array();
$tabs=array(
	array('op'=>'cj','title'=>'ID采集商品'),
	array('op'=>'urlcj','title'=>'网址采集商品'),
	array('op'=>'feecj','title'=>'高级权限采集'),
);

if($_RQ['op']=='cj'){
	$set=$this->plugin_setting('basic');	
	if(!$set['appkey'] || !$set['secret']){
		exi('请先设置参数','','/setting/');
	}
	if($_RQ['postdata']){
		$post=get_postdata();
		$re=$this->model()->getgoodsinfo($post['sku']);
		if($re){
				if($re['0']){
					foreach($re as $v){
						$v=(array)$v;
						$this->model()->creategoods($v);
					}
				}else{
					$this->model()->creategoods($re);
				}
				exi('采集成功','');
		}else{
			exi('采集失败','error');
		}
		
	}
	$htmls=array(
		'type'=>'edit',
		'desc'=>'采集商品',
		'tabs'=>$tabs,
		
		'edit'=>array(
			array('title'=>'[<red>此为低级权限采集</red>]、1、先去淘宝联盟申请https://pub.alimama.com</br>2、申请成功后获得appkey和secret，填到本插件的基本设置-基本设立</br>3、至少开通一个推广媒体（没开通推广媒体，淘宝客不支持推广商品的）！</br>4、进入淘宝联盟后台https://pub.alimama.com，》我要推广》打开里面的商品，找到浏览器地址：例如：&itemId=8vkBRK2i5C9JnvbxQxfe8cbt8-AqvV6PTGAp7a5VguP，其中：“8vkBRK2i5C9JnvbxQxfe8cbt8-AqvV6PTGAp7a5VguP”就是商品skuID，复制商品skuID，粘贴到下面！点击采集！</br>5、只有普通权限的开发者，只能获取简单的商品信息（不包含商品分佣比例等）
			</br><red>采集出错？Insufficient isv permissions</red>？建议到安全中心配置正确的IP白名单（应用--管理--白名单）
			','type'=>'tip'),
			array('name'=>'sku','title'=>'商品ID','type'=>'text','help'=>'商品编号，逗号分割，最多100个'),
					
		)
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='feecj'){
	$set=$this->plugin_setting('basic');	
	if(!$set['appkey'] || !$set['secret']){
		exi('请先设置参数','','/setting/');
	}
	if($_RQ['postdata']){
		$post=get_postdata();
		$re=$this->model()->getmaterial($post['material_id'],$post['item_id']);
		if($re){
				if($re['0']){
					foreach($re as $v){
						$v=(array)$v;
						$this->model()->creategoods($v);
					}
				}else{
					$this->model()->creategoods($re);
				}
				exi('采集成功','');
		}else{
			exi('采集失败','error');
		}
		
	}
	$htmls=array(
		'type'=>'edit',
		'desc'=>'采集商品',
		'tabs'=>$tabs,
		'edit'=>array(
			array('title'=>'【温馨提示】：此接口会自动采集淘宝官方物料库或选品库里的所有商品；但必须https://open.taobao.com/开通( <red>淘宝客【推广者】物料精选</red>)接口权限才行;</br>开通这个接口后，就可以获得宝贝的<red>分佣比例</red>，否则只能手动写入分佣比例！
			</br><red>采集出错？Insufficient isv permissions</red>？建议到安全中心配置正确的IP白名单（应用--管理--白名单）
			','type'=>'tip'),
			array('name'=>'material_id','title'=>'官方物料ID','type'=>'string','help'=>'由淘宝官方提供的物料ID：https://market.m.taobao.com/app/qn/toutiao-new/index-pc.html#/detail/10628875?_k=gpov9a'),
			array('name'=>'item_id','title'=>'商品ID','type'=>'string','help'=>'商品ID，用于相似商品推荐，可以不填；进入淘宝联盟后台https://pub.alimama.com，》我要推广》打开里面的商品，找到浏览器地址：例如：&id=613214895414，其中：“613214895414”就是商品skuID，复制商品skuID，粘贴到下面！点击采集！'),		
		)
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='urlcj'){
	$set=$this->plugin_setting('basic');	
	if(!$set['appkey'] || !$set['secret']){
		exi('请先设置参数','','/setting/');
	}
	if($_RQ['postdata']){
		$post=get_postdata();		
		$skuid=$this->model()->hq_taoid($post['sku']);
		if(!$skuid){
			exi('获取商品ID失败，请检查网址是否完整','error');
		}
		$re=$this->model()->getgoodsinfo($skuid);
		if($re){
				if($re['0']){
					foreach($re as $v){
						$v=(array)$v;
						$this->model()->creategoods($v);
					}
				}else{
					$this->model()->creategoods($re);
				}
				exi('采集成功','');
		}else{
			exi('采集失败','error');
		}
		
	}
	$htmls=array(
		'type'=>'edit',
		'desc'=>'采集商品',
		'tabs'=>$tabs,
		
		'edit'=>array(
			array('title'=>'[<red>此为低级权限采集</red>]、1、先去淘宝联盟申请https://pub.alimama.com</br>2、申请成功后获得appkey和secret，填到本插件的基本设置-基本设立</br>3、至少开通一个推广媒体（没开通推广媒体，淘宝客不支持推广商品的）！</br>4、进入淘宝联盟后台https://pub.alimama.com，》我要推广》打开里面的商品，复制浏览器地址，粘贴到下面！点击采集！
			</br><red>采集出错？Insufficient isv permissions</red>？建议到安全中心配置正确的IP白名单（应用--管理--白名单）
			','type'=>'tip'),
			array('name'=>'sku','title'=>'商品URL','type'=>'text','help'=>'复制淘宝联盟--我要推广--里面商品的网址'),
					
		)
	);
	$return['htmls']=$htmls;
	exi($return);
}
//上架商品
if($_RQ['op']=='list'){
	$set=$this->plugin_setting('basic');	
	$params=array();
	$params['uniacid']=$_SESSION['uniacid'];
	$params['pluginname']='jy_taobaoke';
	//$params['status']='1';
	if(!empty($_RQ['title'])){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=$_RQ['title'];
	}
	
	$pindex = max(1, intval($_RQ['page']));
	$psize = 10;
	if($_RQ['num']){
		$psize=$_RQ['num'];
	}
	$total='';
	$fields=array('id','uniacid','paixu','title','image','price','status','createtime','originalprice','pluginname');
	$list=pdo_getslice('jy_weishop_goods',$params,array($pindex,$psize),$total,$fields,'','id desc');
	foreach($list as &$item){
		$urlinfo=pdo_get('jy_taobaoke_url',array('gid'=>$item['id'],'mid'=>0,'uniacid'=>$_SESSION['uniacid']),array('url','code'));
		$item['url']=$urlinfo['url'];
		$lng=mb_strlen($item['url'],"utf-8");
		if($lng>80 && $set['isgaoji']==1){
			$url=$this->model()->getduanurl($item['url']);
			if($url){
					$item['url']=$url;
					pdo_update('jy_taobaoke_url',array('url'=>$item['url']),array('gid'=>$item['id'],'uniacid'=>$_SESSION['uniacid']));
			}
		}
		$item['code']=$urlinfo['code'];
	}
	$return['list']=$list;
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	$htmls=array(
		'type'=>'list',
		'tabs'=>$tabs,
		'list'=>array('tip'=>'这里的商品会展示到商城，可以到手机端商城查看效果！在没有获取到高级权限（<red>如何申请？目前淘宝平台只能人工发工单申请高级api接口</red>）时，只能<red>手动输入佣金比例</red>（选品库里面查看佣金比例）,也只能<red>手动输入推广链接</red>;
		</br><red>采集出错？Insufficient isv permissions</red>？建议到安全中心配置正确的IP白名单
		</br><red>高级API权限</red>有哪些好处?
		</br>淘宝客有一个所谓的<red>高级API权限</red>，需要人工申请审核，比较麻烦！很多高级的API接口，只有升级后才会显示给你看！；
		</br>1、支持客户实现分享商品，产生分佣；
		</br>2、支持自动获取推广链接；
		</br>3、支持不同的客户访问商品时，产生客户自己特有的推广链接；
		</br>4、可获取taobao.tbk.spread.get( 淘宝客-公用-长链转短链 )接口，自动把长链接换成短；链接！
		</br>5、可以实现自动批量生成淘口令；
		','data'=>'list','del_one'=>true,'delall'=>true,'list'=>array(
			array('name'=>'paixu','title'=>'排序','type'=>'string'),			
			array('type'=>'img_string','title'=>'商品名称','img'=>'image',
			'data'=>array(
				array('title'=>'','name'=>'title'),
				//array('title'=>'价格：￥','name'=>'price')
				)
			),
			array('name'=>'price','title'=>'价格','type'=>'string'),
			array('name'=>'originalprice','title'=>'原价','type'=>'string'),
			array('name'=>'status','title'=>'状态','type'=>'radio','options'=>'status'),
			array('name'=>'url','title'=>'默认推广链接','type'=>'string'),
			array('name'=>'code','title'=>'默认淘口令','type'=>'string'),
		),
		'action'=>array(	
			array('op'=>'tk_rate','title'=>'手动设置佣金比例','type'=>'modal'),
			array('op'=>'set','title'=>'设置推广链接','type'=>'modal'),
			array('op'=>'tkl','title'=>'生成淘口令','type'=>'modal'),
		)),
		'search_one'=>array('name'=>'title','title'=>'商品名称','add'=>false),
	);
	
	$return['htmls']=$htmls;
	$return['status']=array('0'=>'下架','1'=>'上架');
	exi($return);
}
if($_RQ['op']=='tk_rate'){
	if($_RQ['postdata']){
		$post=get_postdata();	
		$id=intval($post['gid']);
		if(!$id){
			exi('参数错误！','error');
		}
		if(!$post['tk_rate']){
			exi('请填写佣金比例','error');
		}
		pdo_update('jy_taobaoke_goods',array('tk_rate'=>$post['tk_rate']),array('goodsid'=>$id,'uniacid'=>$_SESSION['uniacid']));
		exi('设置成功','','list');
	}
	$id=intval($_RQ['id']);
	$item=pdo_get('jy_taobaoke_url',array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']),array('id','gid','url'));	
	$htmls=array(
		'type'=>'edit',
		'desc'=>'佣金比例',
	);
		$htmls['edit']=array(		
			array('type'=>'string','title'=>'佣金比例','name'=>'tk_rate','help'=>'在没有获取到高级权限时，只能手动输入佣金比例（选品库里面查看佣金比例）！'),
		);
	if(!$item){
		$item['gid']=$id;
	}
	$return['htmls']=$htmls;
	$return['item']=$item;
	exi($return);
}
if($_RQ['op']=='set'){
	if($_RQ['postdata']){
		$post=get_postdata();	
		$id=intval($post['gid']);
		if(!$id){
			exi('参数错误！','error');
		}
		if(!$post['url']){
			exi('请填写推广链接','error');
		}
		$item=pdo_get('jy_taobaoke_url',array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']),array('id','url'));
		$set=$this->plugin_setting('basic');
		if($item['url']){
			$code=$this->model()->getcode($item['url']);
			if(empty($code)){
				exi('生成淘口令失败，推广链接可能有错','error');
			}
			pdo_update('jy_taobaoke_url',array('url'=>$post['url'],'code'=>$code),array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']));
		}else{
			$code=$this->model()->getcode($post['url']);
			if(empty($code)){
				exi('生成淘口令失败，推广链接可能有错','error');
			}
			pdo_insert('jy_taobaoke_url',array('gid'=>$id,'mid'=>0,'url'=>$post['url'],'code'=>$code,'uniacid'=>$_SESSION['uniacid']));
		}
		exi('设置成功','','list');
	}
	$id=intval($_RQ['id']);
	$item=pdo_get('jy_taobaoke_url',array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']),array('id','gid','url'));	
	$htmls=array(
		'type'=>'edit',
		'desc'=>'推广链接',
	);
		$htmls['edit']=array(
			
			array('type'=>'string','title'=>'推广链接','name'=>'url','help'=>'需要填写带http头的完整地址，可以在淘宝联盟后台商品推广页面查看推广链接，例如：https://s.click.taobao.com/TF8rX4w'),
		);
	if(!$item){
		$item['gid']=$id;
	}
	$return['htmls']=$htmls;
	$return['item']=$item;
	exi($return);
}
if($_RQ['op']=='tkl'){
	$id=intval($_RQ['id']);
	$urlinf=pdo_get('jy_taobaoke_url',array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']),array('url','code'));
	if(!$urlinf['url']){
		exi('请先设置推广链接','error');
	}
	if($urlinf['code']){
		$set=$this->plugin_setting('basic');
		$item['code']=$this->model()->getcode($urlinf['url']);
		if(empty($item['code'])){
				exi('生成淘口令失败，推广链接可能有错','error');
		}
		pdo_update('jy_taobaoke_url',array('code'=>$item['code']),array('gid'=>$id,'uniacid'=>$_SESSION['uniacid']));
	}
	$htmls[]=array(
		'type'=>'look',
		'look'=>array(
			array('name'=>'code','title'=>'淘口令','type'=>'string'),
		)
	);
	$return['htmls']=$htmls;
	$return['item']=$item;
	exi($return);
}
if($_RQ['op']=='edit'){
	$return=array();
	$id=intval($_RQ['id']);
	if($id){
		$item=pdo_get('jy_weishop_goods',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		//获取分类
		$pname=pdo_getcolumn('jy_weishop_goods_group',array('id'=>$item['pcate']),'title');
		$item['cid']=array('title'=>$pname,'cid'=>$item['ccate']);
	}else{
		$item=array();
	}
	$return['item']=$item;
	$return['item']['param']=json_decode($return['item']['param'],true);
	$return['item']['images']=json_decode($return['item']['images'],true);	
	$htmls=array(
		'type'=>'edit',
		'post'=>'post',
		'tabs'=>array(
			array('op'=>'list','title'=>'返回商品列表'),
		),
		'edit_tab'=>true,
		'edits'=>array(
			array(
				'title'=>'基本信息',
				'list'=>array(
					array('name'=>'paixu','title'=>'排序','type'=>'string','help'=>'数字越大，排名越靠前'),
					array('name'=>'title','title'=>'商品名称','type'=>'copy'),
					array('name'=>'price','title'=>'商品价格','type'=>'copy'),
					array('name'=>'originalprice','title'=>'原价','type'=>'copy'),
					array('name'=>'cid','title'=>'分类','type'=>'goodgroup','options'=>'cid'),
					array('name'=>'saletype','title'=>'商品属性','type'=>'checkbox','options'=>'saletype'),
					array('name'=>'status','title'=>'上架','type'=>'switch'),
				)
			),
		)
	);
	//获取分类
	$return['pcate']=pdo_getall('jy_weishop_goods_group',array('uniacid'=>$_SESSION['uniacid'],'parentid'=>0));
	$c=array();
	foreach($return['pcate'] as $v){
		$n=$v['title'];
		$son=pdo_getall('jy_weishop_goods_group',array('uniacid'=>$_SESSION['uniacid'],'parentid'=>$v['id']));
		if($son){
			foreach($son as $s){
				$d=$s['id'];
				$c[$n][$d]=$s['title'];
			}
		}else{
			$c[$n][0]='';
		}
	}
	$return['cid']=$c;
	$return['saletype']=$this->saletypes;
	$return['status']=$status;
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='post'){
	$postdata=get_postdata();
	$data=array(
		'paixu'=>intval($postdata['paixu']),
		'saletype'=>trim($postdata['saletype']),
		'status'=>intval($postdata['status']),
	);
	//获取分类
	$ccate = intval($postdata['cid']['cid']);
	if($ccate){
		$pcate = pdo_getcolumn('jy_weishop_goods_group',array('id'=>$ccate),'parentid');
		$data['ccate']=$ccate;
		$data['pcate']=$pcate;
	}else{
		$pcate = pdo_getcolumn('jy_weishop_goods_group',array('title'=>$postdata['cid']['title']),'id');
		$data['pcate']=$pcate;
	}
	//如果商品类型为计时/计次商品，默认开启核销
	if($data['type']=='3'){
		$data['isverify']=1;
	}
	$goodsid=intval($postdata['id']);
	if($goodsid){
		pdo_update('jy_weishop_goods',$data,array('id'=>$goodsid,'uniacid'=>$_SESSION['uniacid']));
	}else{	
		$data['uniacid']=$_SESSION['uniacid'];
		pdo_insert('jy_weishop_goods',$data);
		$goodsid=pdo_insertid();
	}
	exi('操作成功！','','list');
}
if($_RQ['op']=='del'){
	$del=trim($_RQ['del'],';');
	if($del){
		$del=explode(';',$del);
	}else{
		$del=array();
	}
	if($_RQ['id']){
		$del[]=$_RQ['id'];
	}
	foreach($del as $id){
		$id=intval($id);
		if($id){
			pdo_delete('jy_weishop_goods',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
			$num_iid=pdo_getcolumn('jy_taobaoke_goods',array('goodsid'=>$id,'uniacid'=>$_SESSION['uniacid']),'num_iid');
			pdo_delete('jy_taobaoke_goods',array('num_iid'=>$num_iid,'uniacid'=>$_SESSION['uniacid']));
		}
	}
	exi('删除成功！');
}